1. Field of the Invention
This invention relates to transmission methods and more specifically to a method for transmitting a well direct-current (hereinafter referred to as DC) balanced multilevel code through a transmission path.
2. Description of the Background Art
In transmission devices, a transmitting end transmits data to be transmitted to a receiving end to a transmission path. The transmitting end may further transmit a command to the transmission path to instruct the receiving end to execute a predetermined operation. The data and the command may be multiplexed and transmitted as various types of information, as shown in FIG. 11. In a symbol string 111 of FIG. 11, COM 112 and COM 113 are symbols of commands. DATA 114 is a symbol of data.
When the transmitting end continuously transmits COM 112 of FIG. 11, the average value of the signal scintillates depending on the characteristics of the transmission path. That is, the transmission path cannot correctly transmit a signal with the same successive codes. Therefore, transmission path codes are adopted for the transmission device. The transmitting end converts a symbol (command or data) with excessively successive identical codes into a symbol with different codes moderately mixed according to predetermined encoding rules. Such encoding allows transmission of a well DC balanced signal to the transmission path.
One of the types of transmission path encoding is disclosed in U.S. Pat. No. 4,530,088. This patent discloses the so-called 4B5B encoding. Described below is the 4B5B encoding referring to FIG. 12. An encoding portion 121 of FIG. 12 is provided at a transmitting end. To the encoding portion 121, DATA 114 COM 112 or COM 113 of FIG. 11 are inputted. Data to be transmitted by the transmitting end is generated, being divided into four-bit blocks. Therefore, DATA 114 of four bits is represented as any one of 16 (=24) types of symbols. When two commands of COM 112 and COM 113 are to be transmitted, each of them represents only one symbol even though they are divided in blocks with a length corresponding to four bits. That is, the transmitting end can transmit 18 types of symbols in total as to DATA 114 COM 112 and COM 113 to the receiving end.
In 4B5B encoding, of 32 types of symbols represented with five bits, 18 types of symbols having good DC balance are preselected. The selected symbols of five bits are assigned to the symbols of four bits, thereby determining 4B5B encoding rules.
As shown in FIG. 13(a), the encoding portion 121 waits until the whole symbol of four bits (COM 112, COM 113 or DATA 114) is inputted. The encoding portion 121 encodes based on the 4B5B encoding rules, thereby converting the symbol of four bits to a symbol of five bits (represented as xe2x80x9cXcodexe2x80x9d in the drawing) 115. This symbol of five bits 115 is transmitted through the transmission path to the receiving end. The receiving end is provided with a decoding portion, which, as shown in FIG. 13(b), waits until the whole symbol of five bits 115 is inputted. The decoding portion decodes based on the 4B5B encoding rules, and thereby restores the symbol of five bits 115 to its original symbol of four bits (DATA 114, etc.).
As described above, even when a poorly DC balanced signal string is generated at the transmitting end, adopting the transmission path codes allows a well DC balanced signal string to be transmitted to the transmission path. Therefore, information can be transmitted correctly between the transmitting end and the receiving end. Furthermore, it is also possible in the 4B5B encoding to multiplex a plurality of types of information (typically, command and data).
However, in the 4B5B encoding, the transmitting and receiving ends have to wait until the whole symbols of four bits and five bits are completely inputted. As a result, transmission delay in encoding and decoding is caused. Therefore, in a data transmission device with limited transmission delay, it is disadvantageously impossible to make time for processing of converting a signal string into a well DC balanced signal string.
Note that in the above U.S. patent, the signal string of four bits is inputted in parallel into the encoding portion 121 and the signal string of five bits is outputted in parallel from the encoding portion 121. However, the front end of the encoding portion 121 performs serial-parallel conversion, in which transmission delay occurs. That is, in the conventional transmission path encoding, the above transmission delay occurs in any part of the processing.
Therefore, an object of the present invention is to a transmission method and a transmitting/receiving device capable of multiplexing various types of information and transmitting the information with small transmission delay. The object of the present invention is achieved by the following first to fortieth aspects.
A first aspect is directed to a method for transmitting multilevel codes represented by a plurality of amplitude values from a transmitting end to a receiving end through a transmission path. The method includes, at the transmitting end, encoding information to be transmitted to the receiving end according to encoding rules defined based on a relation between a previously-generated multilevel code and a currently-generated multilevel code, generating a multilevel code string, and transmitting the generated multilevel code string to the transmission path. The method also includes, at the receiving end, receiving the multilevel code string through the transmission path, decoding the received multilevel code string according to decoding rules corresponding to the encoding rules based on a relation between a currently-received multilevel code and a previously-received multilevel code, and reproducing the information.
In accordance with the first aspect, the transmitting end encodes information based on a relation between a previous multilevel code and the current multilevel code, and transmits to the receiving end. That is, unlike in the 4B5B encoding method, the transmitting end of the present invention can encode information without waiting until the whole block of four bits is completely inputted, thereby allowing short processing time from occurrence of information to be transmitted to the end of encoding in the transmitting end. On the other hand, the receiving end can decode and reproduce the information from the transmitting end based on the currently-received multilevel code and a previously-received multilevel code. That is, unlike in the 4B5B encoding method, the receiving end can decode and reproduce information without waiting until the whole block of five bits is completely inputted, thereby allowing a short processing time from the time when the multilevel codes are received to the end of decoding in the receiving end. Therefore, according to the transmission method of the first aspect, it is possible to transmit information with a small amount of delay.
Further, in accordance with the first aspect, the transmitting end converts transmission information to multilevel codes. The multilevel codes can create a large number of relationship patterns of combination between a previous multilevel code and the current multilevel code. It is therefore possible to assign different amplitude value patterns to various types of information, thereby allowing transmission and multiplexing of various types of information with a small amount of delay.
According to a second aspect, in the first aspect, the transmitting end encodes the information according to encoding rules defined based on a relation between a currently-generated multilevel code and a multilevel code generated immediately before and the receiving end decodes based on a relation between the currently-received multilevel code and a multilevel code received immediately after.
In accordance with the first aspect, the transmitting end and the receiving end have to latch the amplitude values of previous multilevel codes. However, according to the second aspect, the transmitting end and the receiving end use the amplitude of the preceding multilevel code for encoding and decoding, therefore eliminating the need for storing the plurality of amplitude values. This allows the structure of the transmitting and receiving devices to be downsized.
According to a third aspect, in the first aspect, the information includes symbols of a plurality of types; the transmitting end encodes the symbols of the plurality of types into the multilevel codes of a same pattern according to the encoding rules to generate the multilevel code string; and a change from one symbol to another symbol is represented by a phase change of the same pattern in the generated multilevel code string.
In accordance with the third aspect, the transmitting end changes a phase in a same pattern to inform the receiving end of a change from a symbol to another symbol. Therefore, once detecting the phase change, the receiving end can decode and reproduce the other symbol. The phase change can be detected with the amplitude values of the previous and current multilevel codes, as in the first aspect. That is, according to the third aspect, it is possible to multiplex and transmit information with a small amount of delay, as in the first aspect.
According to a fourth aspect, in the first aspect, the transmitting end generates the multilevel code string with same codes not excessively successive and transmits the multilevel code string to the transmission path.
In accordance with the fourth aspect, excessively successive same codes do not exist in the multilevel code string, thereby allowing good DC balance of the multilevel code string and correct information transmission from the transmitting end to the receiving end.
According to the fifth aspect, in the first aspect, the transmitting end multiplexes symbols of a plurality of types as the information, and encodes the multiplexed symbols according to the encoding rules and generates the multilevel code string.
In accordance with the fifth aspect, the symbols of the plurality of types are multiplexed in a step before encoding. It is therefore possible to easily generate the multilevel code string with the symbols of the plurality of types multiplexed.
According to a sixth aspect, in the first aspect, the transmitting end encodes at least once during a predetermined time interval using a maximum amplitude value and/or a minimum amplitude value and generates the multilevel code string.
In the sixth aspect, the receiving end receives the maximum and/or minimum amplitude value during the predetermined time interval. In other words, the receiving end is notified by the transmitting end of the maximum and/or minimum amplitude value of the multilevel code. It is thus possible to correctly identify each amplitude value of the multilevel code.
According to a seventh aspect, in the first aspect, the transmitting end and the receiving end change the encoding rules and the decoding rules as required.
In accordance with the seventh aspect, the encoding rules and the decoding rules are dynamically changed, allowing transmission of the optimal multilevel code string to the transmission path.
According to an eighth aspect, in the first aspect, the transmitting end encodes a predetermined command as the information into the multilevel code string and changes the encoding rules based on the command; and the receiving end reproduces the predetermined command and changes the decoding rules based on the command.
In the eighth aspect, the timings of changing the encoding rules and the decoding rules can be synchronized based on the predetermined command. It is thus possible to correctly transmit information between the transmitting and receiving ends even if these rules are changed.
According to a ninth aspect, in the first aspect, the transmitting end changes the number of amplitude values to be used for the multilevel codes as required.
In accordance with the ninth aspect, the number of amplitude values are dynamically changed, thereby allowing transmission of the optimal multilevel code string to the transmission path.
According to a tenth aspect, in the first aspect, the transmitting end encodes a predetermined command as the information into a multilevel code string and changes the encoding rules and the number of amplitude values to be used for the multilevel codes based on the command; and the receiving end reproduces the predetermined command and changes the decoding rules and the number of amplitude values to be used for the multilevel codes.
In the tenth aspect, the combination of the encoding rules and the decoding rules and the number of levels for use in encoding and decoding are dynamically changed, thereby also allowing transmission of the optimal multilevel code string to the transmission path.
An eleventh aspect is directed to a method for optically transmitting multilevel codes represented by a plurality of amplitude values from a transmitting end to a receiving end through an optical transmission path. The method includes, at the transmitting end, encoding information to be transmitted to the receiving end according to encoding rules defined based on a relation between a previously-generated multilevel code and a currently-generated multilevel code, and generating a multilevel code string, performing electrical/optical conversion to the generated multilevel code string, to generate an optical signal, and transmitting the generated optical signal to the optical transmission path. The method also includes, at the receiving end, performing optical/electrical conversion to the optical signal inputted through the optical transmission path, and reproducing the multilevel code string, and decoding the reproduced multilevel code string according to decoding rules corresponding to the encoding rules based on a relation between a currently-reproduced multilevel code and a previously-reproduced multilevel code, and reproducing information.
According to a twelfth aspect, in the eleventh aspect, the transmitting end encodes the information according to encoding rules defined based on a relation between the currently-generated multilevel code and a multilevel code generated immediately before; and the receiving end decodes based on a relation between the currently-reproduced multilevel code and a multilevel code reproduced immediately before.
According to a thirteenth aspect, in the eleventh aspect, the information includes symbols of a plurality of types; the transmitting end encodes the symbols of the plurality of types of symbols into the multilevel codes of a same pattern according to the encoding rules to generate the multilevel code string; and a change from one symbol to another symbol is represented by a phase change of the same pattern in the generated multilevel code string.
According to a fourteenth aspect, in the eleventh aspect, the transmitting end generates the multilevel code string with same codes not excessively successive and transmits the multilevel code string to the optical transmission path.
According to a fifteenth aspect, in the eleventh aspect, the transmitting end multiplexes symbols of a plurality of types as the information, and encodes the multiplexed symbols according to the encoding rules and generates the multilevel code string.
According to a sixteenth aspect, in the eleventh aspect, the transmitting end encodes at least once during a predetermined time interval using a maximum amplitude value and/or a minimum amplitude value and generates the multilevel code string.
According to a seventeenth aspect, in the eleventh aspect, the transmitting end and the receiving end change the encoding rules and the decoding rules as required.
According to an eighteenth aspect, in the eleventh aspect, the transmitting end encodes a predetermined command as the information into the multilevel code string and changes the encoding rules based on the command; and the receiving end reproduces the predetermined command and changes the decoding rules based on the command.
According to a nineteenth aspect, in the eleventh aspect, the transmitting end changes the number of amplitude values to be used for the multilevel codes as required.
According to a twentieth aspect, in the eleventh aspect, the transmitting end encodes a predetermined command as the information into the multilevel code string and changes the encoding rules and the number of amplitude values to be used for the multilevel codes based on the command; and the receiving end reproduces the predetermined command and changes the decoding rules and the number of amplitude values to be used for the multilevel codes based on the command.
A twenty-first aspect is directed to a device for transmitting multilevel codes represented by a plurality of amplitude values from a transmitting end to a receiving end through a transmission path. The transmitting end comprises an encoding portion for encoding information to be transmitted to the receiving end according to encoding rules defined based on a relation between a previously-generated multilevel code and a currently-generated multilevel code, and generating a multilevel code string, and a transmitting portion for transmitting the generated multilevel code string to the transmission path. The receiving end comprises a receiving portion for receiving the multilevel code string through the transmission path, and a decoding portion for decoding the multilevel code string received by the receiving portion according to decoding rules corresponding to the encoding rules based on a relation between a multilevel code currently received by the receiving portion and a multilevel code previously received by the receiving portion, and reproducing the information.
According to a twenty-second aspect, in the twenty-first aspect, the encoding portion encodes the information according to encoding rules defined based on a relation between the currently-generated multilevel code and a multilevel code generated immediately before; and the decoding portion decodes based on a relation between the multilevel code currently received by the receiving portion and a multilevel code received immediately before by the receiving portion.
According to twenty-third aspect, in the twenty-first aspect, the information includes symbols of a plurality of types; the encoding portion encodes the symbols of the plurality of types into the multilevel codes of a same pattern according to the encoding rules to generate the multilevel code string; and a change from one command to another command is represented by a phase change of the same pattern in the generated multilevel code string.
According to a twenty-fourth aspect, in the twenty-first aspect, the encoding portion generates the multilevel code string with same codes not excessively successive.
According to a twenty-fifth aspect, in the twenty-first aspect, the transmitting end further comprises a multiplexing portion for multiplexing symbols of a plurality of types as the information, and the encoding portion encodes the symbols multiplexed by the multiplexing portion according to the encoding rules and generates the multilevel code string.
According to a twenty-sixth aspect, in the twenty-first aspect, the encoding portion encodes at least once during a predetermined time interval using a maximum amplitude value and/or a minimum amplitude value and generates the multilevel code string. In addition the receiving end further comprises a normalizing portion for normalizing an amplitude value of the multilevel code string received by the receiving portion based on the maximum amplitude value and/or the minimum amplitude value transmitted at the predetermined intervals.
In the twenty-sixth aspect, the receiving end is notified by the transmitting end of the maximum amplitude value and/or the minimum amplitude value of the multilevel code. The normalizing portion normalizes the receive level of the receiving portion based on the maximum value and/or the minimum value, thereby correcting the receive level of the receiving portion. The receiving portion can therefore supply a multilevel code string with correct amplitude values.
According to a twenty-seventh aspect, in the twenty-first aspect, the encoding portion and the decoding portion change the encoding rules and the decoding rules as required.
According to a twenty-eighth aspect, in the twenty-first aspect, the encoding portion encodes a predetermined command as the information into the multilevel code string and changes the encoding rules based on the command; and the decoding portion reproduces the predetermined command and changes the decoding rules based on the command.
According to a twenty-ninth aspect, in the twenty-first aspect, the encoding portion and the decoding portion change the number of amplitude values to be used for the multilevel codes as required.
According to a thirtieth aspect, in the twenty-first aspect, the encoding portion encodes a predetermined command as the information into the multilevel code string and changes the encoding rules and the number of amplitude values to be used for the multilevel codes based on the command; and the decoding portion reproduces the predetermined command and changes the decoding rules and the number of amplitude values to be used for the multilevel codes based on the command.
A thirty-first aspect is directed to a device for optically transmitting multilevel codes represented by a plurality of amplitude values from a transmitting end to a receiving end through an optical transmission path.
The transmitting end comprises:
an encoding portion for encoding information to be transmitted to the receiving end according to encoding rules defined based on a relation between a previously-generated multilevel code and a currently-generated multilevel code, and generating a multilevel code string; and
an electrical/optical converting portion for performing electrical/optical conversion to the multilevel code string generated by the encoding portion to generate an optical signal and transmitting the optical signal to the optical transmission path.
The receiving end comprises:
an optical/electrical converting portion for receiving the optical signal through the optical transmission path, performing optical/electrical conversion to the optical signal, and reproducing the multilevel code string; and
a decoding portion for decoding the multilevel code string reproduced by the optical/electrical converting portion according to decoding rules corresponding to the encoding rules based on a relation between a multilevel code currently-reproduced by the optical/electrical converting portion and a multilevel code previously reproduced by the optical/electrical converting portion, and reproducing information.
According to a thirty-second aspect, in the thirty-first aspect, the encoding portion encodes the information according to the encoding rules defined based on a relation between the currently-generated multilevel code and a multilevel code generated immediately before; and the decoding portion decodes based on a relation between the multilevel code currently reproduced by the optical/electrical converting portion and a multilevel code reproduced immediately before by the optical/electrical converting portion.
According to a thirty-third aspect, in the thirty-first aspect, the information includes symbols of a plurality of types; the encoding portion encodes the symbols of the plurality of types into the multilevel codes of a same pattern according to the encoding rules to generate the multilevel code string; and a change from one symbol to another symbol is represented by a phase change of the same pattern in the generated multilevel code string.
According to a thirty-fourth aspect, in the thirty-first aspect, the encoding portion generates the multilevel code string with same codes not excessively successive.
According to a thirty-fifth aspect, in the thirty-first aspect, the transmitting end comprises a multiplexing portion for multiplexing symbols of a plurality of types as the information, and the encoding portion encodes the symbols multiplexed by the multiplexing portion according to the encoding rules and generates the multilevel code string.
According to a thirty-sixth aspect, in the thirty-first aspect, the encoding portion encodes at least once during a predetermined time interval using a maximum amplitude value and/or a minimum amplitude value and generates the multilevel code string. In addition, the receiving end further comprises a normalizing portion for normalizing an amplitude value of the multilevel code string received by the receiving portion based on the maximum amplitude value and/or the minimum amplitude value transmitted at the predetermined intervals.
According to a thirty-seventh aspect, in the thirty-first aspect, the encoding portion and the decoding portion change the encoding rules and the decoding rules as required.
According to a thirty-eighth aspect, in the thirty-first aspect, the encoding portion encodes a predetermined command as the information into the multilevel code string and changes the encoding rules based on the command; and the decoding portion reproduces the predetermined command and changes the decoding rules based on the command.
According to a thirty-ninth aspect, in the thirty-first aspect, the encoding portion and the decoding portion change the number of amplitude values to be used for the multilevel codes as required.
According to a fortieth aspect, in the thirty-first aspect, the encoding portion encodes a predetermined command as the information into the multilevel code string and changes the encoding rules and the number of amplitude values to be used for the multilevel codes based on the command; and the decoding portion reproduces the predetermined command and changes the decoding rules and the number of amplitude values to be used for the multilevel codes based on the command.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.